<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>2.姓名案例_methods实现</title>
        <!-- 引入Vue -->
        <script type="text/javascript" src="../../js/vue.js"></script>
    </head>
    <body>
        <!-- 准备好一个容器-->
        <!-- 使用methods实现姓名案例，有两个大问题：
                1.无关数据的更新，也会引起方法的调用。
                2.没有任何缓存机制，用一次，调一次，有效率上的问题。
        -->
        <div id="demo">
            <h1>欢迎来到{{school}}</h1>
            <button @click="changeSchoolName">点我修改学校名</button> <br>
            姓：<input type="text" v-model="firstName"> <br>
            名：<input type="text" v-model="lastName"> <br>
            <span>全名：{{getTheFullName()}}</span>
            <span>全名：{{getTheFullName()}}</span>
            <span>全名：{{getTheFullName()}}</span>
            <span>全名：{{getTheFullName()}}</span>
            <span>全名：{{getTheFullName()}}</span>
            <span>全名：{{getTheFullName()}}</span>
            <span>全名：{{getTheFullName()}}</span>
        </div>

        <script type="text/javascript">
            //阻止 vue 在启动时生成生产提示。
            Vue.config.productionTip = false 
            new Vue({
                el:'#demo',
                data:{
                    firstName:'zhang',
                    lastName:'san',
                    school:'尚硅谷'
                },
                methods:{
                    changeSchoolName(){
                        this.school = 'atguigu'
                    },
                    getTheFullName(){
                        console.log('getTheFullName执行了')
                        return this.firstName.slice(0,1).toUpperCase() + this.firstName.slice(1) + '-' + this.lastName
                    }
                }
            })
        </script>
    </body>
</html>